package com.qining618.cms.cms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qining618.cms.cms.controller.admin.request.AdminContentEditRequest;
import com.qining618.cms.cms.domain.Content;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * CMS内容 服务类
 * </p>
 *
 * @author qining
 * @date 2019-09-17
 */
public interface ContentService extends IService<Content> {

    /**
     * 分页
     * @param params 查询条件
     * @return IPage&lt;Content&gt;
     */
    IPage<Content> page(Map<String, Object> params);

    /**
     * 保存
     * @param content 内容信息
     * @param userId 用户id
     * @param draft 是否草稿 1是 0否
     * @param contribute 是否投稿 1是 0否
     * @param channelIds 栏目ids
     * @return Content
     */
    Content save(Content content, Long userId, Boolean draft, Boolean contribute, List<Long> channelIds);

    /**
     * 设置置顶
     * @param id 内容id
     * @param level 置顶级别
     * @param dueTime 置顶到期时间
     */
    void setTopLevel(Long id, Integer level, Date dueTime);

}
